const db = require("../../dbutil/index");
const sql = require("../../dbutil/sql");
const token = require("../../util/token");

module.exports = {
   aLogin: (req, res) => {
      //获取请求对象中的用户数据
      let { uname, upass} = req.body;
      //调用db.query()
      db.query(sql.users.login, [uname, upass], (err, results) => {
         if (err) {
            //返回json对象：状态码、状态描述、数据
            res.send({ code: 505, msg: err.message });
         } else {
            //判断登录是否成功
            // console.log(results);
            if (results.length > 0) {
               //用户认证成功，签发token,并将token写回客户端
               token.setToken(results[0].uname, results[0].uid).then((t) => {
                  return res.send({
                     code: 200,
                     msg: "登录成功",
                     data: {
                        token: t,
                        user: results
                     }
                  });
               });
            } else {
               res.send({
                  code: 201,
                  msg: "用户名或密码错误，登录失败",
                  data: {}
               });
            }
         }
      });
   },



   //   aRegist: (req, res) => {
   //      let { uname, upass } = req.body;
   //      db.query(sql.users.userByname, [uname], (err1, results1) => {
   //          console.log(err1);
   //         if (err1) {
   //            res.send({ code: 505, msg: "数据库执行错误" });
   //         } else {
   //            if (results1.length > 0) {
   //               // 3.用户名已存在，则返回错误信息给客户端
   //               res.send({
   //                  code: 202,
   //                  msg: "用户名已存在,注册失败",
   //               });
   //            } else {
   //               db.query(sql.users.addUser, [uname, upass, Date.now()], (err2, results2) => {
   //                  console.log(err2);
   //                  if (err2) {
   //                     console.log(err2);
   //                     res.send({ code: 505, msg: "数据库执行错误" });
   //                  } else {
   //                     if (results2.affectedRows > 0) {
   //                        res.send({ code: 200, msg: "注册成功" });
   //                     } else {
   //                        res.send({ code: 201, msg: "注册失败" });
   //                     }
   //                  }
   //               })
   //            }
   //         }
   //      })
   //   },


   // 修改密码
   updateUpass: (req, res) => {
      let { uname, oldpass, newpass } = req.body;
      db.query(sql.users.login, [uname, oldpass], (err1, results1) => {
         console.log(err1);
         if (err1) res.send({ code: "505", msg: "数据库执行错误" });
         else {
            if (results1.length) {
               db.query(sql.users.updateUpass, [newpass, uname], (err2, results2) => {
                  if (err2) {
                     res.send({ code: 505, msg: "数据库执行错误" })
                  } else {
                     if (results2.affectedRows > 0) {
                        res.send({ code: 200, msg: "修改成功" });
                     } else {
                        res.send({ code: 201, msg: "修改失败" });
                     }
                  }
               })
            } else {
               res.send({ code: "400", msg: "原密码错误" });
            }
         }

      })
   },
}